A Predicate-Based Software Testing Strategy*
نویسندگان
چکیده
In this paper, we describe the basic theory underlying BOR (boolean operator) testing and BRO (boolean and relational operator) test-selection criteria, and discuss experimental evidence that shows that BOR testing requires a far smaller number of test-cases than some more traditional strategies, while retaining fault-detection capabilities that are as good as, or better than these strategies. The approach we describe can be used to develop test cases based on software specifications, or based on the implementation, that is, it can be used for both functional and structural testing. We evaluate the BOR strategy with respect to branch testing, traditional causeeffect graph testing, and informal functional and random testing. Two simulation experiments showed that BOR testing is very effective at detecting faults in predicates. We also performed two experiments where we applied BOR strategy to software specification cause-effect graphs of a real-time control system and a set of N-version programs. Our results indicate that BOR testing is practical, and has detected faults that the previously applied strategies have not.
منابع مشابه
Empirical studies of predicate-based software testing
We report the results of three empirical studies of fault detection and stability performance of the predicate-based BOR (Boolean OperatoR) testing strategy. BOR testing is used to develop test cases based on formal software specification, or based on the implementation code. We evaluated the BOR strategy with respect to some other strategies by using Boolean expressions and actual software. We...
متن کاملAnalysis of MC/DC Coverage Percentage and Cyclometic Complexity for structured C Programs
Now a days, testing activity consumes about 60% of software development resources, so any concept aiming at reducing Software Testing costs are likely to decrease the whole development costs. Proposed by NASA in 1994, the MC/DC criteria is a testing strategy required, among other practices, by the RTCA DO-178B. MC/DC is a white box testing criteria targeting at proving evidence that all clauses...
متن کاملAn Efficient Slicing Approach for Test Case Generation
Automated test data generation is a challenging task in software engineering research. Despite all the advancement, software testing continues to be the most time and resource consuming aspect of software development. One aspect of Automated Testing is generation of test data for each predicate involved in the Unified Modeling Language (UML) diagram of the modeled software. The test data genera...
متن کاملPredicate Interpretation Analysis Based on Soot
Symbolic execution maintains a path condition pc for every possible path of a program. It is challenging to construct a pc if some complex issues are involved in the path. A predicate interpretation pi is a subexpression of a pc and a pc of a path is a conjunction of all pis in the path. Predicate interpretation has been widely used in theoretical analysis on domain testing and related fields. ...
متن کاملSoftware reliability growth with test coverage
“Software test-coverage measures” quantify the degree of thoroughness of testing. Tools are now available that measure test-coverage in terms of blocks, branches, computation-uses, predicate-uses, etc. that are covered. This paper models the relations among testing time, coverage, and reliability. An LE (logarithmic-exponential) model is presented that relates testing effort to test coverage (b...
متن کامل